32746e84c24a2a7b1defff8b2ec609e0b20bdcea,plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/InitializationUtils.java,InitializationUtils,tryStatementAssignsVariableOrFails,#PsiTryStatement#PsiVariable#Set#boolean#,276

Before Change


            @NotNull PsiTryStatement tryStatement, PsiVariable variable,
            @NotNull Set<MethodSignature> checkedMethods, boolean strict){
        final PsiCodeBlock tryBlock = tryStatement.getTryBlock();
        if (!blockAssignsVariableOrFails(tryBlock, variable,
                        checkedMethods, strict)) {
            return false;
        }
        final PsiCodeBlock[] catchBlocks = tryStatement.getCatchBlocks();

After Change


            @NotNull Set<MethodSignature> checkedMethods, boolean strict){
        final PsiCodeBlock tryBlock = tryStatement.getTryBlock();
        boolean initializedInTryAndCatch =
                blockAssignsVariableOrFails(tryBlock, variable,
                        checkedMethods, strict);
        final PsiCodeBlock[] catchBlocks = tryStatement.getCatchBlocks();
        for(final PsiCodeBlock catchBlock : catchBlocks){
            if (strict) {
                initializedInTryAndCatch &= blockFails(catchBlock);
            } else {
                initializedInTryAndCatch &= blockAssignsVariableOrFails(
                        catchBlock, variable,
                        checkedMethods, strict);
            }
        }
        if(initializedInTryAndCatch){
            return true;
        }
        final PsiCodeBlock finallyBlock = tryStatement.getFinallyBlock();
        return blockAssignsVariableOrFails(finallyBlock, variable,